From: Julien Grall Date: Wed, 14 Feb 2018 12:22:23 +0000 (+0000) Subject: xen/arm: cpuerrata: Actually check errata on non-boot CPUs X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~572 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=27196d4cc917d91b5b5daee50173565139ca9c9d;p=xen.git xen/arm: cpuerrata: Actually check errata on non-boot CPUs The cpu errata framework was introduced in commit 8b01f6364f "xen/arm: Detect silicon revision and set cap bits accordingly" and was meant to detect errata present on any CPUs (via check_local_cpu_errata). However, the function to check the MIDR (is_affected_midr_range) mistakenly always use the boot CPU MIDR. Fix is_affected_midr_range to use the current CPU MIDR. Reported-by: Stefano Stabellini Signed-off-by: Julien Grall Reviewed-by: Stefano Stabellini --- diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c index 9c7458ef06..c243521ed4 100644 --- a/xen/arch/arm/cpuerrata.c +++ b/xen/arch/arm/cpuerrata.c @@ -230,7 +230,7 @@ static int enable_ic_inv_hardening(void *data) static bool __maybe_unused is_affected_midr_range(const struct arm_cpu_capabilities *entry) { - return MIDR_IS_CPU_MODEL_RANGE(boot_cpu_data.midr.bits, entry->midr_model, + return MIDR_IS_CPU_MODEL_RANGE(current_cpu_data.midr.bits, entry->midr_model, entry->midr_range_min, entry->midr_range_max); }